import request from '@/utils/request'

/**
 * 系统监控API
 */
// 获取服务器信息
export function getServerInfo() {
  return request({
    url: '/monitor/server',
    method: 'get'
  })
}

// 获取系统统计信息
export function getSystemStatistics() {
  return request({
    url: '/monitor/statistics',
    method: 'get'
  })
}

// 获取在线用户列表
export function getOnlineUsers(params) {
  return request({
    url: '/monitor/online',
    method: 'get',
    params
  })
}

// 获取数据库信息
export function getDatabaseInfo() {
  return request({
    url: '/monitor/database',
    method: 'get'
  })
}

// 获取缓存信息
export function getCacheInfo() {
  return request({
    url: '/monitor/cache',
    method: 'get'
  })
}

// 清空缓存
export function clearCache(type) {
  return request({
    url: `/monitor/clearCache/${type}`,
    method: 'post'
  })
}

/**
 * 操作日志API
 */
// 获取操作日志列表
export function getOperationLogs(params) {
  return request({
    url: 'api/system/log/list',
    method: 'get',
    params
  })
}

// 获取操作日志详情
export function getOperationLogDetail(id) {
  return request({
    url: `/log/detail/${id}`,
    method: 'get'
  })
}

// 删除操作日志
export function deleteOperationLog(id) {
  return request({
    url: `/log/delete/${id}`,
    method: 'delete'
  })
}

// 清空操作日志
export function clearOperationLogs() {
  return request({
    url: '/log/clear',
    method: 'delete'
  })
}

// 获取操作日志统计信息
export function getOperationLogStats() {
  return request({
    url: 'api/system/log/statistics',
    method: 'get'
  })
}

/**
 * 系统参数配置API
 */
// 获取系统参数列表
export function getConfigList(params) {
  return request({
    url: 'api/system/config/list',
    method: 'get',
    params
  })
}

// 获取系统参数详情
export function getConfigDetail(id) {
  return request({
    url: `/config/detail/${id}`,
    method: 'get'
  })
}

// 根据参数键名查询参数值
export function getConfigValue(key) {
  return request({
    url: `/config/value/${key}`,
    method: 'get'
  })
}

// 添加系统参数
export function addConfig(data) {
  return request({
    url: '/config/add',
    method: 'post',
    data
  })
}

// 修改系统参数
export function editConfig(data) {
  return request({
    url: '/config/edit',
    method: 'put',
    data
  })
}

// 删除系统参数
export function deleteConfig(id) {
  return request({
    url: `/config/delete/${id}`,
    method: 'delete'
  })
}

// 批量更新系统参数
export function batchUpdateConfig(data) {
  return request({
    url: '/config/batchUpdate',
    method: 'put',
    data
  })
}

/**
 * 数据字典API
 */
// 获取字典类型列表
export function getDictTypeList(params) {
  return request({
    url: '/dict/typeList',
    method: 'get',
    params
  })
}

// 获取字典类型详情
export function getDictTypeDetail(id) {
  return request({
    url: `/dict/typeDetail/${id}`,
    method: 'get'
  })
}

// 添加字典类型
export function addDictType(data) {
  return request({
    url: '/dict/addType',
    method: 'post',
    data
  })
}

// 修改字典类型
export function editDictType(data) {
  return request({
    url: '/dict/editType',
    method: 'put',
    data
  })
}

// 删除字典类型
export function deleteDictType(id) {
  return request({
    url: `/dict/deleteType/${id}`,
    method: 'delete'
  })
}

// 获取字典数据列表
export function getDictDataList(params) {
  return request({
    url: '/dict/dataList',
    method: 'get',
    params
  })
}

// 获取字典数据详情
export function getDictDataDetail(id) {
  return request({
    url: `/dict/dataDetail/${id}`,
    method: 'get'
  })
}

// 添加字典数据
export function addDictData(data) {
  return request({
    url: '/dict/addData',
    method: 'post',
    data
  })
}

// 修改字典数据
export function editDictData(data) {
  return request({
    url: '/dict/editData',
    method: 'put',
    data
  })
}

// 删除字典数据
export function deleteDictData(id) {
  return request({
    url: `/dict/deleteData/${id}`,
    method: 'delete'
  })
}

// 获取字典选项
export function getDictOptions(dictType) {
  return request({
    url: `/dict/getOptions/${dictType}`,
    method: 'get'
  })
} 